#include <iostream>
#include "graph.h"
#include "parser.h"

int main()
{


	Parser P;
	string name = "input.txt";
	vector< pair <double, char> > aminoTable(AMINO_MAX);
	P.get_amino_acids(name,  aminoTable);

	for (int i = 0; i < AMINO_MAX; i++)
	{
		cout << aminoTable[i].second << " " << aminoTable[i].first << endl;
	}

	string nameMasses = "input_masses.txt";
	vector < double > masses;
	P.get_experimental_masses(nameMasses, masses);
		

	 for (int i = 0; i < (int)masses.size(); i++)
	{
		cout << masses[i] << endl;
	}
	cout << endl;

	Graph G(masses.size());
	G.initialize(masses, aminoTable);

	int lenBoundDown(3), lenBoundUp(masses.size());
	G.pathStarter(masses, lenBoundDown, lenBoundUp);
	G.getAminoAcidSequences(aminoTable, masses);
	
	
	return 0;
}
